1. Field of the Invention
The invention relates to a method and apparatus for high performance switching in local area communications networks. In particular, the invention relates to the processing of pointers of datagrams, such as packets, that are to be dropped in the background to yield more efficient use of output bandwidth in a network device.
2. Description of the Related Art
A switching system may include one or more network devices, such as an Ethernet switching chip, each of which includes several modules that are used to process information that is transmitted through the device. Specifically, the device may include at least one ingress module, a Memory Management Unit (MMU) and at least one egress module. The ingress module includes switching functionality for determining to which destination port a packet should be directed. The MMU is used for storing packet information and performing resource checks. The egress module is used for performing packet modification and for transmitting the packet to at least one appropriate destination port. One of the ports on the device may be a CPU port that enables the device to send and receive information to and from external switching/routing control entities or CPUs. Some devices also include a CPU processing module through which the device interfaces with external CPU ports.
As the packet data are processed, they are broken into cells for more efficient handling. Once a destination of the packet is determined, those cells are sent to an output queue for the egress port. However, some types of errors are not known until the end of the packet is received, i.e. the egress port may be determined from information in the packet header, but that packet may not actually be sent because errors that are detected thereafter. Since the amounts of data sent to each queue is closely monitored, once it is known that the packet will not be sent, the buffer space used by the bad packet is returned to the unused buffer pool. This handling of bad packets in a buffer affect line rate performance, in that some of the buffer management must be used in this process. Thus, there is a need in the prior art to have a better system for handling packet data that are to be dropped.